Automatic Proof Generation in Kleene Algebra with Tests
نویسنده
چکیده
Kleene algebra (KA) is the algebra of regular events. Familiar examples of Kleene algebras include regular sets, relational algebras, and trace algebras. A Kleene algebra with tests (KAT) is a Kleene algebra with an embedded Boolean subalgebra. The addition of tests allows one to encode while programs as KAT terms, thus the equational theory of KAT can express (propositional) program equivalence. More complicated statements about programs can be expressed in the Hoare theory of KAT, which suffices to encode Propositional Hoare Logic. In this paper, we prove the following. First, there is a PSPACE transducer which takes equations of Kleene algebra as input and outputs Hilbert-style proofs of them in an equational implication calculus. Second, we give a feasible reduction from the equational theory of KAT to the equational theory of KA. Combined with the fact that the Hoare theory of KAT reduces efficiently to the equational theory of KAT, this yields an algorithm capable of generating proofs of a large class of statements about programs.
منابع مشابه
Automatic Proof Generation in Kleene Algebra
In this paper, we develop the basic theory of disimulations, a type of relation between two automata which witnesses equivalence. We show that many standard constructions in the theory of automata such as determinization, minimization, inaccessible state removal, et al., are instances of disimilar automata. Then, using disimulations, we define an “algebraic” proof system for the equational theo...
متن کاملOn the Coalgebraic Theory of Kleene Algebra with Tests
We develop a coalgebraic theory of Kleene algebra with tests (KAT) along the lines of Rutten (1998) for Kleene algebra (KA) and Chen and Pucella (Electron Notes Theor Comput Sci 82(1), 2003) for a limited version of KAT, resolving some technical issues raised by Chen and Pucella. Our treatment includes a simple definition of the Brzozowski derivative for KAT expressions and an automata-theoreti...
متن کاملA coalgebraic approach to Kleene algebra with tests
Kleene algebra with tests is an extension of Kleene algebra, the algebra of regular expressions, which can be used to reason about programs. We develop a coalgebraic theory of Kleene algebra with Tests, along the lines of the coalgebraic theory of regular expressions based on deterministic automata. Since the known automata-theoretic presentation of Kleene algebra with tests does not lend itsel...
متن کاملLocal Variable Scoping and Kleene Algebra with Tests
We explore the power of relational semantics and equational reasoning in the style of Kleene algebra for analyzing programs with mutable, statically scoped local variables. We provide (i) a fully compositional relational semantics for a first-order programming language with constructs for local variable declaration and destructive update; and (ii) an equational proof system based on Kleene alge...
متن کاملKAT-ML: an interactive theorem prover for Kleene algebra with tests
We describe an implementation of an interactive theorem prover for Kleene algebra with tests (KAT). The system is designed to reflect the natural style of reasoning with KAT that one finds in the literature. We illustrate its use with some examples.
متن کامل